# -*- coding=utf-8 -*-
# @time:2021/8/7
# @phone:15874198829
# @author:码尚教育_星瑶

# 设置操控终端的配置参数
from appium import webdriver
from appium.webdriver.common.mobileby import MobileBy
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

desired_caps = {
    "automationName": "UiAutomator2",  # 默认框架
    "platformName": "Android",  # 指定操作系统
    "platformVersion": "5.1.1",  # 指定系统版本
    "deviceName": "127.0.0.1:62001",  # 指定设备名称
    "appPackage": "com.tal.kaoyan",  # 被操作的应用程序包名
    "appActivity": "com.tal.kaoyan.ui.activity.SplashActivity",  # 启动页面
    "noReset": "True"  # 为true 不重置  为false 重置
}
# 发送指令给appium server
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

# 输入用户名
el_username = driver.find_element(MobileBy.ID, "com.tal.kaoyan:id/login_email_edittext")
el_username.send_keys("xingyao")

# 点击登录
el_login = driver.find_element(MobileBy.ID, "com.tal.kaoyan:id/login_login_btn")
el_login.click()

# 展示toast元素展示的文本内容：邮箱帐户密码不能为空
# 定位toast元素  xpath
toast_loc = (MobileBy.XPATH, "//*[contains(@text,'邮箱帐户密码不能为空')]")

# 显示等待
# 修改轮询的时间为0.01秒
WebDriverWait(driver, 15, 0.01).until(EC.presence_of_element_located(toast_loc))
toast_text = driver.find_element(*toast_loc).text
print("获取toast元素的文本内容：", toast_text)
